package leecode.数组和字符串.回文数判断;

public class isPalindrome {
    public static void main(String[] args) {
        Soulution soulution = new Soulution();
        boolean palindrome = soulution.isPalindrome(5);
        System.out.println(palindrome);

    }

    static class Soulution {
        public boolean isPalindrome(int x) {
            int temp = 0;
            //负数 和 个位数为0 的显然不是回文数，如120 -> 021 -121 -> 121-
            if (x < 0 || (x % 10 == 0 && x != 0) ) {
                return false;
            }
            //我们采取反转整数一半的方法来进行判断
            //如121 —> 个位数为：1 十位数为2 个位*10+十位=12 12==12 所以121为回文数
            //我们设一变量temp用于储存已经反转的数，当temp>=x时表示我们已经处理完毕
            while (x >temp){
                temp=temp*10+x%10;
                x=x/10;
            }
            if (x==temp || x==temp/10){
                return true;
            }

        return false;
        }
    }
}
